Openfire 集群部署和负载均衡方案
Openfire 集群部署和负载均衡方案
一. 概述
Openfire是在即时通讯中广泛使用的XMPP协议通讯服务器,本方案采用Openfire的Hazelcast插件进行集群部署,采用Haproxy进行负载均衡,在示例环境中测试通过。
二. 示例环境
服务器配置如下:
服务器名
用途
操作系统
IP
PC647
Openfire节点1
Windows7
10.200.10.11
seasky
Openfire节点2
Windows xp
10.200.10.18
Lub1
Mysql数据库
LUbuntu 12
10.200.10.12
Lub3
负载均衡器
LUbuntu 12
10.200.10.19
所用软件版本如下:
软件名称
版本号
用途
提供商
Openfire
3.10beta
Xmpp服务器
Jive Software
Hazelcast
1.3.3
Openfire集群插件
Tom Evans
Mysql server
5.5.0
配套数据库
Oracle
Haproxy
1.4.18
TCP负载均衡器
HAProxy
RooyeeMessager
3.6.1
Xmpp客户端
深圳如意通
三. 软件安装
在PC647和seasky上安装openfire,软件下载地址: 在lub1上安装mysql安装命令:sudo apt-get install mysql-server
在lub3上安装haproxy.安装命令:sudo apt-get install haproxy
四. 集群部署
1.安装openfire后启动管理控制台进行配置,

2.设置安装语言后进入服务器设置,设置域名信息。注意集群中每个openfire节点应该使用相同的域名。

3.在mysql数据库中创建openfire数据库,执行openfire_mysql.sql创建数据表,该文件位于openfire的安装目录的 esourcesdatabase文件夹里,也可以使用其它类型的数据库。

4.在openfire管理控制台配置数据库连接信息。

5.在特性中使用初始设置,在随后的界面中输入管理员密码。

6.设置完毕后登录管理控制台

7.切换到插件选项卡,进入有效的插件页面。

8.安装 Broadcast,Clustering Plugin 和Hazelcast Clustering Plugin 三个插件,注意集群中的每个节点都要安装。

9.在openfire安装目录下的pluginshazelcastclasses文件夹里找到hazelcast-cache-config.xml配置文件,然后找到其中的join和interfaces配置节。

将其修改为以下形式:

其中member中是集群中各节点的IP地址和端口号,interface中是当前机器的IP地址。注意集群中的每个节点都要进行如此配置。
10.进入openfire管理控制台,切换到服务器选项卡,进入到集群页面。

11.在集群设置中选择“启用”并保存设置。集群中的每个节点都要做这个设置。

12.启用成功后集群概述中将出现各节点的信息,如下图所示。注意启动可能较慢,耗时可能在30秒到两分钟之间。

五. 负载均衡
1.进入haproxy所在的lub3服务器, 将当前用户加入到haproxy用户组中,本例中当前用户为lunacy

2.修改haproxy配置文件 haproxy.cfg,将global配置节中的user改为当前用户。

3.将defaults节下的mode改为tcp, option改为tcplog,并移除其它与http有关的选项。

4.加入listen配置节,转发openfire端口5222,7070和9090,其它端口若有需要,也可以加入。

5.使用修改后的配置文件启动haproxy,本例中使用如下命令:
Sudo /usr/sbin/haproxy –f /etc/haproxy/haproxy.cfg
6. 在浏览器中输入:9090,已经能够正常进入控制台,注意该IP地址是负载均衡器所在的服务器地址,该机器上没有安装openfire.

7.启动xmpp客户端rooyeemessager,在网络设置中输入ip为10.200.10.19,端口5222,点击测试后,软件提示测试连接成功。

8.使用rooyeemessager登录[email protected]用户, 提示登录成功:


6.至此,openfire集群部署和负载均衡已经配置完毕,分别在PC647和seasky的openfire中创建两个用户,用两个客户端在不同的机器中收发信息,证实openfire集群可以正常运行。
六. 注意事项
1.openfire和hazelcast插件的版本必须匹配,否则无法启用集群。
2.在实际的集群部署中mysql也应当配置为集群,本例中不再演示。
3.oepnfire3.10已经不支持spark2.6.3,请勿使用此软件作为测试客户端。
4.本例使用lbuntu系统,在centos或redhat上部署时使用的命令可能不同。
5.测试时不要在一台机器同时登录两个账户进行收发,有些客户端会引起混乱。
6.haproxy不提供关闭命令,如果需要关闭要使用kill杀死进程。
7.本例中openfire部署在windows上,实际中部署在linux上会获得更佳性能。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/server/equal/11916.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
ZooKeeper集群安装
时间:2021-01-10
-
KeepAlive详解
时间:2021-01-10
-
Spark教程 构建Spark集群(
时间:2021-01-10
-
高效搭建Spark完全分布式集
时间:2021-01-10
-
负载均衡与缓存
时间:2021-01-10
-
Hadoop2.2.0NNHA详细配置+Cli
时间:2021-01-10
-
Mongodb集群搭建过程及常见
时间:2021-01-09
-
DRBD+HeartBeat架构实验
时间:2021-01-09
热门文章
-
Nagios监控生产环境redis集群服务实战
时间:2021-01-08
-
Spark教程 构建Spark集群(1)
时间:2021-01-10
-
SqlServer横向扩展负载均衡终极利器SqlSer
时间:2021-01-08
-
Kafka集群安装
时间:2021-01-09
-
WAS集群系列(13):举例WAS集群下ear包部
时间:2021-01-08
-
Memcached基础知识
时间:2021-01-08
-
KeepAlive详解
时间:2021-01-10
-
WAS集群系列(12):集群搭建:步骤10:通
时间:2021-01-08
-
Cloudera Manager 4.6 安装部署hadoop CDH集群
时间:2021-01-09
-
DRBD+HeartBeat架构实验
时间:2021-01-09
